package com.yida.gwj.basis.service;

import com.yida.gwj.basis.domain.GwjInitBusinessOwner;

import java.util.List;

/**
 * 业务业主信息（基础数据管理模块）Service接口
 *
 * @author lqq
 * @date 2022-11-15
 */
public interface IGwjInitBusinessOwnerService {

	/**
	 * 获取业务业主集合
	 *
	 * @param businessOwner 业务业主信息（基础数据管理模块）
	 * @return /
	 */
	List<GwjInitBusinessOwner> getList(GwjInitBusinessOwner businessOwner);

	/**
	 * 获取业务业主集合
	 *
	 * @param houseCodes 房屋标识码集合
	 * @param bizId      业务ID
	 * @return /
	 */
	List<GwjInitBusinessOwner> getList(String[] houseCodes, Long bizId);

	/**
	 * 根据业务ID获取业主信息
	 *
	 * @param bizId 业务ID
	 * @return /
	 */
	List<GwjInitBusinessOwner> getListByBizId(Long bizId);

	/**
	 * 根据房屋标识码获取业主信息
	 *
	 * @param houseCode 房屋标识码
	 * @param bizId     业务ID
	 * @return /
	 */
	GwjInitBusinessOwner getByHouseCode(String houseCode, Long bizId);

	/**
	 * 新增业务业主信息（基础数据管理模块）
	 *
	 * @param businessOwner 业务业主信息（基础数据管理模块）
	 * @return 结果
	 */
	int save(GwjInitBusinessOwner businessOwner);

	/**
	 * 批量新增业务业主信息（基础数据管理模块）
	 *
	 * @param businessOwners 业务业主信息（基础数据管理模块）
	 * @return 结果
	 */
	int saveBatch(List<GwjInitBusinessOwner> businessOwners);

	/**
	 * 修改业务业主信息（基础数据管理模块）
	 *
	 * @param businessOwner 业务业主信息（基础数据管理模块）
	 * @return 结果
	 */
	int updateById(GwjInitBusinessOwner businessOwner);

	/**
	 * 修改业务业主信息（基础数据管理模块）
	 *
	 * @param businessOwners 业务业主信息（基础数据管理模块）
	 * @return 结果
	 */
	int updateBatch(List<GwjInitBusinessOwner> businessOwners);

	/**
	 * 根据房屋标识码删除业主
	 *
	 * @param houseCodes 房屋标识码
	 * @param bizId     业务ID
	 * @return /
	 */
	int deleteByHouseCodesAndBizId(List<String> houseCodes, Long bizId);

	/**
	 * 根据业务ID删除业主
	 *
	 * @param bizId 业务ID
	 * @return /
	 */
	int deleteByBizId(Long bizId);

	/**
	 * 根据房屋编号查询业主信息
	 * @param houseCode 房屋编号
	 * @param areaId  区域主键
	 * @return
	 */
	List<GwjInitBusinessOwner> ownerInfoByHouseCode(String houseCode,Long areaId);
}
